package co.gov.das.fotogps.movil;

import java.io.IOException;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.1B6E56CD-5105-C3D4-9024-8A35719F4416]
// </editor-fold> 
public class FormFotografia extends Form implements CommandListener{

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.B00C21BD-FB24-DAFF-2D22-72E71A225FA1]
    // </editor-fold> 
    private TextField nombre;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.058D89B9-8004-0409-1C4E-6EF4E5388DDC]
    // </editor-fold> 
    private TextField id;

    private TextField longitud;
    private TextField latitud;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E4641079-1EDF-24C8-E3C4-690FE6EDCFD4]
    // </editor-fold> 
    private Command VOLVER_CMD;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.9319D6E7-E78E-5AF3-E1E5-1EBCCA116420]
    // </editor-fold> 
    private Command ENVIAR_CMD;
    
    private Fotografia fotografia;

    private FotoGPSMIDLet midlet;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.2A265BAD-63C8-D319-ACAE-435D2E08D23D]
    // </editor-fold> 
    public FormFotografia (String title, FotoGPSMIDLet midlet) {
        super(title);
        this.midlet = midlet;
        VOLVER_CMD = new Command("Volver", Command.EXIT, 1);
        ENVIAR_CMD = new Command("Enviar", Command.OK, 1);
        nombre = new TextField("Nombre", "", 15, TextField.ANY);
        id = new TextField("Id", "", 15, TextField.NUMERIC);
        longitud = new TextField("Longitud", "", 15, TextField.ANY);
        latitud = new TextField("Latitud", "", 15, TextField.ANY);
        addCommand(VOLVER_CMD);
        addCommand(ENVIAR_CMD);
        setCommandListener(this);
        append(id);
        append(nombre);
        append(longitud);
        append(latitud);
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.4A77E697-6110-3D5C-8310-409841A3A2E2]
    // </editor-fold> 
    public Command getEXIT_CMD () {
        return VOLVER_CMD;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.26A96B6B-6CD8-C3B7-D240-1465FB841B35]
    // </editor-fold> 
    public void setEXIT_CMD (Command val) {
        this.VOLVER_CMD = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.2A0D62B2-0540-8C05-0826-E19895B98BB9]
    // </editor-fold> 
    public Command getGUARDAR_CMD () {
        return ENVIAR_CMD;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.5DA651E7-AFC5-9DB5-ACA3-61BAD0EF61B9]
    // </editor-fold> 
    public void setGUARDAR_CMD (Command val) {
        this.ENVIAR_CMD = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.4DEDD97D-8154-A1E6-07ED-C9B6BB2B57E9]
    // </editor-fold> 
    public TextField getId () {
        return id;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.D61F0579-40C7-8BFB-48CC-42461C889A80]
    // </editor-fold> 
    public void setId (TextField val) {
        this.id = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.E9B78EC2-4E99-0069-B193-EBD3A87A6D9A]
    // </editor-fold> 
    public TextField getNombre () {
        return nombre;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.C1FBC39B-645F-931F-10C7-D246F75F65AD]
    // </editor-fold> 
    public void setNombre (TextField val) {
        this.nombre = val;
    }

    public void commandAction(Command c, Displayable d) {
        if(c == VOLVER_CMD){
            Display.getDisplay(midlet).setCurrent(midlet.getCamara());
        }else if(c == ENVIAR_CMD){
            //Invoca Metodo para enviar la fotografia
            AdminConexion adminConexion = new AdminConexion();
            try {
                fotografia.setDescripcion(nombre.getString());
                fotografia.setId(Integer.parseInt(id.getString()));
                fotografia.setFormato("image/png");
                adminConexion.enviarFoto(fotografia);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }

    /**
     * @return the fotografia
     */
    public Fotografia getFotografia() {
        return fotografia;
    }

    /**
     * @param fotografia the fotografia to set
     */
    public void setFotografia(Fotografia fotografia) {
        this.fotografia = fotografia;
        this.latitud.setString(fotografia.getLatitud() + "");
        this.longitud.setString(fotografia.getLongitud() + "");
    }

}

